package com.medic.mapper.interf;

import java.util.List;
import org.apache.ibatis.annotations.Param;

import com.medic.entity.group.pain.Alert;
import com.medic.entity.group.pain.Medic;

public interface MedicMapper extends MapperInterface<Medic> {
	/**
	 * 查询所有的药品信息（包括对应的提醒）
	 * 
	 * @return Medic的list集合
	 * @throws Exception
	 */
	public List<Medic> selectAll() throws Exception;

	/***
	 * 添加提醒
	 * 
	 * @param alert
	 *            提醒list集合
	 * @param medicId
	 *            所属药品id
	 * @return 成功条数
	 * @throws Exception
	 */
	public int saveAlerts(@Param("alerts") List<Alert> alerts, @Param("medicId") int medicId) throws Exception;

	/**
	 * 更新提醒
	 * 
	 * @param alert
	 *            提醒对象
	 *           @param medicId 药品id（保证数据正确）
	 * @return 成功条数
	 * @throws Exception
	 */
	public int updateAlerts(@Param("alerts") List<Alert> alerts, @Param("medicId") int medicId) throws Exception;

	/**
	 * 删除提醒
	 * 
	 * @param alertId
	 *            提醒id
	 * @param medicId
	 *            药品id（需要根据当前用户找到对应的药品，保证数据正确）
	 * @return 成功条数
	 * @throws Exception
	 */
	public int deleteAlert(@Param("alertId") int alertId, @Param("medicId") int medicId) throws Exception;

	/**
	 * 根据药品id查询对应的提醒
	 * 
	 * @param medicId
	 *            药品id
	 * @return list集合
	 * @throws Exception
	 */
	public List<Alert> selectAlertByMedicId(int medicId) throws Exception;
	
}
